﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using AutoMapper;
using PhoneBook.Dtos;
using PhoneBook.Models;

namespace PhoneBook.Infrastructure
{
    public class AutoMapperProfile : Profile
    {
        public AutoMapperProfile()
        {
            //创建SysUser往SysUserDTO转换的映射，ReverseMap是创建反向映射，不过我发现如果都是同名的属性的话，没加这个ReverseMap也是能反向映射的
            CreateMap<Pet, PetDto>().ReverseMap();

            //创建SysUser往SysUserDTO转换的映射，ReverseMap是创建反向映射，如果都是同名的属性的话，没加这个ReverseMap也是能反向映射的，不过像以下这个有特殊属性的，就得加ReverseMap才能正常反向映射
            CreateMap<Pet, UserDto>()
                .ForMember(destinationObject => destinationObject.Name, options =>
                {
                    //目标类的TestName等于实体类的LoginName加上Name字段
                    options.MapFrom(sourceObject => sourceObject.Name + sourceObject.Name);
                })
                .ReverseMap();
        }


    }
}
